package com.yuanqi.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 销售退货订单DTO
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class SalesReturnOrderDTO {

    /**
     * 主键
     */
    private Long id;

    /**
     * 退货单编号
     */
    private String returnNo;

    /**
     * 关联原销售订单ID
     */
    private Long orderId;

    /**
     * 原销售订单编号
     */
    private String orderNo;

    /**
     * 创建人ID
     */
    private Long creatorId;

    /**
     * 创建人姓名
     */
    private String creatorName;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 状态：0草稿 / 1待审核 / 2审核通过 / 3已完成
     */
    private Integer status;

    /**
     * 状态名称
     */
    private String statusName;

    /**
     * 总退货金额
     */
    private BigDecimal totalReturnAmount;

    /**
     * 退货单备注
     */
    private String remark;

    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户联系人
     */
    private String contactName;

    /**
     * 客户电话
     */
    private String contactPhone;

    /**
     * 退货原因
     */
    private String returnReason;

    /**
     * 退货日期
     */
    private LocalDateTime returnDate;

    /**
     * 审核人ID
     */
    private Long auditorId;

    /**
     * 审核人姓名
     */
    private String auditorName;

    /**
     * 审核时间
     */
    private LocalDateTime auditTime;

    /**
     * 审核意见
     */
    private String auditOpinion;

    /**
     * 退货明细列表
     */
    private List<SalesReturnOrderItemDTO> items;
}

